package com.hyt.it.ogt.ykcj.mapper.exam;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hyt.it.ogt.ykcj.domain.exam.ExamPostInfo;
import com.hyt.it.ogt.ykcj.domain.exam.ExamPostScoreLineSetting;
import com.hyt.it.ogt.ykcj.domain.exam.ExamPostScoreLineSettingSub;
import com.hyt.it.ogt.ykcj.domain.vo.ExamPostScoreLineSettingVo;
import com.hyt.it.ogt.ykcj.domain.vo.ExamScoreLineReq;

/**
 * 招考职位分数线设置Mapper接口
 * 
 * @author admin
 * @date 2021-09-09
 */
public interface ExamPostScoreLineSettingMapper extends BaseMapper<ExamPostScoreLineSetting> {
	/**
	 * 查询招考职位分数线设置
	 * 
	 * @param id
	 *            招考职位分数线设置ID
	 * @return 招考职位分数线设置
	 */
	public ExamPostScoreLineSetting selectExamPostScoreLineSettingById(String id);

	/**
	 * 查询招考职位分数线设置列表
	 * 
	 * @param examPostScoreLineSetting
	 *            招考职位分数线设置
	 * @return 招考职位分数线设置集合
	 */
	public List<ExamPostScoreLineSetting> selectExamPostScoreLineSettingList(ExamPostScoreLineSetting examPostScoreLineSetting);

	/**
	 * 新增招考职位分数线设置
	 * 
	 * @param examPostScoreLineSetting
	 *            招考职位分数线设置
	 * @return 结果
	 */
	public int insertExamPostScoreLineSetting(ExamPostScoreLineSetting examPostScoreLineSetting);

	/**
	 * 修改招考职位分数线设置
	 * 
	 * @param examPostScoreLineSetting
	 *            招考职位分数线设置
	 * @return 结果
	 */
	public int updateExamPostScoreLineSetting(ExamPostScoreLineSetting examPostScoreLineSetting);

	/**
	 * 删除招考职位分数线设置
	 * 
	 * @param id
	 *            招考职位分数线设置ID
	 * @return 结果
	 */
	public int deleteExamPostScoreLineSettingById(String id);

	/**
	 * 批量删除招考职位分数线设置
	 * 
	 * @param ids
	 *            需要删除的数据ID
	 * @return 结果
	 */
	public int deleteExamPostScoreLineSettingByIds(String[] ids);

	/**
	 * 获取职位分数线设置选项列表
	 * 
	 * @param examId
	 *            考试ID
	 * @param dictType
	 *            字典类型
	 * @return 结果
	 */
	List<Map<String, String>> getPostScoreLineSettingOption(@Param("examId") String examId, @Param("dictType") String dictType);

	/**
	 * 获取职位数量
	 * 
	 * @param examPostScoreLineSetting
	 *            招考职位分数线设置
	 * @return 职位数量
	 */
	Integer getPostNumber(ExamPostScoreLineSetting examPostScoreLineSetting);

	/**
	 * 获取招考职位分数线设置列表
	 * 
	 * @param examId
	 *            考试ID
	 * @return 结果
	 */
	List<ExamPostScoreLineSettingVo> getExamPostScoreLineSettingVoList(@Param("examId") String examId);

	/**
	 * 查找分数线个数
	 * 
	 * @return
	 */
	int countScoreSettingNum(ExamScoreLineReq examScoreLineReq);

	/**
	 * 查找职位分数线
	 */
	List<ExamPostScoreLineSettingSub> getPostScoreLine(ExamPostInfo examPostInfo);
}
